home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
CIncludes
/
CMAcceleration.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-05-01
|
4KB
|
128 lines
/*
File: CMAcceleration.h
Contains: ColorSync 2.0 Acceleration Component Interfaces
Version: Technology: ColorSync 2.0
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __CMACCELERATION__
#define __CMACCELERATION__
#ifndef __MEMORY__
#include <Memory.h>
#endif
#ifndef __COMPONENTS__
#include <Components.h>
#endif
#ifndef __CMAPPLICATION__
#include <CMApplication.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT_SUPPORTED
#pragma import on
#endif
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=mac68k
#endif
#if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
/* -------------------------------------- version info */
enum {
cmAccelerationInterfaceVersion = 1
};
/* -------------------------------------- Component Type */
enum {
cmAccelerationComponentType = 'csac'
};
/* -------------------------------------- Required Component function selectors */
enum {
cmLoadTables = 0,
cmCalculateData = 1
};
/* -------------------------------------- table data for acceleration component */
struct CMAccelerationTableData {
long inputLutEntryCount; /* count of entries for input lut for one dimension*/
long inputLutWordSize; /* count of bits of each entry ( e.g. 16 for WORD )*/
Handle inputLut; /* handle to input lut*/
long outputLutEntryCount; /* count of entries for output lut for one dimension */
long outputLutWordSize; /* count of bits of each entry ( e.g. 8 for BYTE )*/
Handle outputLut; /* handle to output lut*/
long colorLutInDim; /* input dimension ( e.g. 3 for LAB ; 4 for CMYK )*/
long colorLutOutDim; /* output dimension ( e.g. 3 for LAB ; 4 for CMYK )*/
long colorLutGridPoints; /* count of gridpoints for color lut ( for one Dimension ) */
long colorLutWordSize; /* count of bits of each entry ( e.g. 8 for BYTE )*/
Handle colorLut; /* handle to color lut*/
CMBitmapColorSpace inputColorSpace; /* packing info for input*/
CMBitmapColorSpace outputColorSpace; /* packing info for output*/
void * userData;
unsigned long reserved1;
unsigned long reserved2;
unsigned long reserved3;
unsigned long reserved4;
unsigned long reserved5;
};
typedef struct CMAccelerationTableData CMAccelerationTableData;
typedef CMAccelerationTableData *CMAccelerationTableDataPtr;
typedef CMAccelerationTableDataPtr *CMAccelerationTableDataHdl;
/* -------------------------------------- calc data for acceleration component */
struct CMAccelerationCalcData {
long pixelCount; /* count of input pixels*/
Ptr inputData; /* input array*/
Ptr outputData; /* output array*/
unsigned long reserved1;
unsigned long reserved2;
};
typedef struct CMAccelerationCalcData CMAccelerationCalcData;
typedef CMAccelerationCalcData *CMAccelerationCalcDataPtr;
typedef CMAccelerationCalcDataPtr *CMAccelerationCalcDataHdl;
/*
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
A c c e l e r a t i o n C o m p o n e n t I n t e r f a c e s
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/
extern pascal CMError CMAccelerationLoadTables(ComponentInstance CMSession, CMAccelerationTableDataPtr tableData)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0000, 0x7000, 0xA82A);
extern pascal CMError CMAccelerationCalculateData(ComponentInstance CMSession, CMAccelerationCalcDataPtr calcData)
FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
#endif
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=reset
#endif
#if PRAGMA_IMPORT_SUPPORTED
#pragma import off
#endif
#ifdef __cplusplus
}
#endif
#endif /* __CMACCELERATION__ */